#ifndef SATURNOS_INC_KERN_SCHED_H
#define SATURNOS_INC_KERN_SCHED_H

#include <kern/proc.h>

/**
* start the scheduler mini process
* should be called by every cpu
*/
void scheduler(void);

/**
* initialize scheduler data structures
*/
void sched_init(void);

/**
* yield current process and schedule the next one
*/
void sched(void);



/**
* schedule the process for run
*
* @param p_proc - input: the process to be scheduled for run
*
* @return 0 for success
*/
int sched_set_runnable(struct proc_t* p_proc);


#endif /* SATURNOS_INC_KERN_SCHED_H */

